feat(stream): implement declared event ingress - #298
Conversation
|
Refreshing GitHub mergeability and pull_request checks; candidate commit remains unchanged. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2fa21f1221
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| /// Named event subscriptions. Command-less streams are external ingress endpoints; launched | ||
| /// streams additionally lower to one derived exec companion. | ||
| pub streams: Vec<Stream>, |
There was a problem hiding this comment.
Include streams in catalog semantic normalization
Add spec.streams to src/catalog_transaction.rs::normalize_agent. That function currently normalizes resources and tasks but never this new field, so adding or removing a command-less external-ingress stream produces a changed Agent Spec path while st2 catalog diff --json emits no corresponding agents semantic delta; consumers of the typed agent diff therefore cannot observe that event admission changed. Launched streams are only represented indirectly as generic derived tasks and likewise lose their stream declaration semantics.
Useful? React with 👍 / 👎.
Summary
Implements the stream subsystem specified by #287 as its dependent implementation PR.
streamdeclarations with command, argv, or external ingressst2 stream add/rmauthoringst2 event emitingress with keyed and keyless supersessionVerification
PASS:
nix flake check --print-build-logs(all 9 x86_64-linux checks)Canonical failure-capable E2E proof is in compoundingtech/evals#79, exact-pinned to
2fa21f12212777ee46857d6eb3eb13db1b4ba64b; its stream cell passes 8/8 and complete corpus preflight passes.Stack
The branch base preserves the dependency. GitHub stack metadata was removed after it repeatedly reported a false conflict for a direct-descendant head.
Originally managed with GitHub Stacks CLI